home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Audio, Video & Photo / Songbird 0.7.0 / Songbird_0.7.0_windows-i686-msvc8.exe / jsmodules / URLUtils.jsm < prev    next >
Text File  |  2008-08-06  |  3KB  |  97 lines

  1. /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* vim: set sw=2 :miv */
  3. /*
  4. //
  5. // BEGIN SONGBIRD GPL
  6. //
  7. // This file is part of the Songbird web player.
  8. //
  9. // Copyright(c) 2005-2008 POTI, Inc.
  10. // http://songbirdnest.com
  11. //
  12. // This file may be licensed under the terms of of the
  13. // GNU General Public License Version 2 (the "GPL").
  14. //
  15. // Software distributed under the License is distributed
  16. // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
  17. // express or implied. See the GPL for the specific language
  18. // governing rights and limitations.
  19. //
  20. // You should have received a copy of the GPL along with this
  21. // program. If not, go to http://www.gnu.org/licenses/gpl.html
  22. // or write to the Free Software Foundation, Inc.,
  23. // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  24. //
  25. // END SONGBIRD GPL
  26. //
  27. */
  28.  
  29. /**
  30.  * \file  URLUtils.jsm
  31.  * \brief Javascript source for the URL utility services.
  32.  */
  33.  
  34. //------------------------------------------------------------------------------
  35. //
  36. // URL utility JSM configuration.
  37. //
  38. //------------------------------------------------------------------------------
  39.  
  40. EXPORTED_SYMBOLS = [ "URLUtils" ];
  41.  
  42.  
  43. //------------------------------------------------------------------------------
  44. //
  45. // URL utility defs.
  46. //
  47. //------------------------------------------------------------------------------
  48.  
  49. const Cc = Components.classes;
  50. const Ci = Components.interfaces;
  51. const Cr = Components.results
  52. const Cu = Components.utils
  53.  
  54.  
  55. //------------------------------------------------------------------------------
  56. //
  57. // URL utility services.
  58. //
  59. //------------------------------------------------------------------------------
  60.  
  61. var URLUtils = {
  62.   //----------------------------------------------------------------------------
  63.   //
  64.   // URL utility services.
  65.   //
  66.   //----------------------------------------------------------------------------
  67.  
  68.   /**
  69.    * Produce a URL query string from the query parameters specified by the
  70.    * aParams object.  Produce a URL query parameter for each field in the
  71.    * aParams object, applying proper URI encoding.
  72.    *
  73.    * \param aParams             URL query params.
  74.    *
  75.    * \return                    A URL query string.
  76.    */
  77.  
  78.   produceQuery: function URLUtils_produceQuery(aParams) {
  79.     // Add each field in the query params to the URL query.
  80.     var urlQuery = "";
  81.     for (paramName in aParams) {
  82.       // Add a separator before all but the first field.
  83.       if (urlQuery.length > 0)
  84.         urlQuery += "&";
  85.  
  86.       // Add the parameter to the URL query.
  87.       var paramValue = aParams[paramName];
  88.       urlQuery += encodeURIComponent(paramName) +
  89.                   "=" +
  90.                   encodeURIComponent(paramValue);
  91.     }
  92.  
  93.     return urlQuery;
  94.   }
  95. };
  96.  
  97.